package com.mingben.betplatform.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mingben.betplatform.dto.baoge3.BetProjectDto;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

public class SecurityUtils {
    /**
     *
     * @param str JTdCJTIydGltZXMlMjI6MSwlMjJtb2RlJTIyOiUyMjMlMjIsJTIybWV0aG9kaWQlMjI6JTIyMTU0JTIyLCUyMm51bXMlMjI6NCwlMjJtb25leSUyMjowLjA4LCUyMmNvZGVzJTIyOiUyMiU3QyU3QyU3QyU3QzEmMiYzJjQlMjIsJTIydGl0bGUlMjI6JTIyJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTIwJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTIyLCUyMmRlc2MlMjI6JTIyJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTIwJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTdDJTdDJTdDJTdDMSYyJjMmNCUyMiwlMjJ0eXBlJTIyOiUyMmRpZ2l0YWwlMjIsJTIyZGlnaXRzdHIlMjI6JTIyJTIyJTdE
     * @return
     */
    public static BetProjectDto decode(String str){
        String urlEncode = JSUtil.atob(str);
        String jsonStr = "";
        try {
             jsonStr = URLDecoder.decode(urlEncode , "utf8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        if(jsonStr.equals("")){
            return null;
        }
        BetProjectDto result = JSONObject.parseObject(jsonStr  , BetProjectDto.class);
        return result;
    }

    /**
     *
     * @param dto {"times":1,"mode":"3","methodid":"154","nums":4,"money":0.08,"codes":"||||1&2&3&4","title":"定位胆 定位胆","desc":"定位胆 定位胆||||1&2&3&4","type":"digital","digitstr":""}
     * @return  JTdCJTIydGltZXMlMjI6MSwlMjJtb2RlJTIyOiUyMjMlMjIsJTIybWV0aG9kaWQlMjI6JTIyMTU0JTIyLCUyMm51bXMlMjI6NCwlMjJtb25leSUyMjowLjA4LCUyMmNvZGVzJTIyOiUyMiU3QyU3QyU3QyU3QzEmMiYzJjQlMjIsJTIydGl0bGUlMjI6JTIyJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTIwJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTIyLCUyMmRlc2MlMjI6JTIyJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTIwJUU1JUFFJTlBJUU0JUJEJThEJUU4JTgzJTg2JTdDJTdDJTdDJTdDMSYyJjMmNCUyMiwlMjJ0eXBlJTIyOiUyMmRpZ2l0YWwlMjIsJTIyZGlnaXRzdHIlMjI6JTIyJTIyJTdE
     */
    public static String encode(BetProjectDto dto){
        String source = JSON.toJSONString(dto);
        String urlEncodeSource = "";
        try {
            urlEncodeSource = URLEncoder.encode(source , "utf8");

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        if(urlEncodeSource.equals("")){
            return "";
        }
        String encodeSource = JSUtil.btoa(urlEncodeSource);
        return encodeSource;
    }
}
